package zx.x.modules.app.service.impl;

import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;

import java.math.BigDecimal;
import java.util.List;
import java.util.Map;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import zx.x.common.utils.PageUtils;
import zx.x.common.utils.Query;

import zx.x.modules.app.dao.OrderDao;
import zx.x.modules.app.dto.OrderDto;
import zx.x.modules.app.entity.OrderEntity;
import zx.x.modules.app.service.OrderService;
import zx.x.modules.app.vo.OrderVo;


@Service("orderService")
public class OrderServiceImpl extends ServiceImpl<OrderDao, OrderEntity> implements OrderService {
    @Autowired
    OrderDao dao;

    @Override
    public PageUtils queryPage(Map<String, Object> params) {
        IPage<OrderEntity> page = this.page(
                new Query<OrderEntity>().getPage(params),
                new QueryWrapper<OrderEntity>()
        );

        return new PageUtils(page);
    }

    @Override
    public OrderVo selectOrderDetailed(OrderDto dto) {
        return dao.selectOrderDetailed(dto);
    }

    @Override
    public List<OrderVo> selectOrderDetailedList(OrderDto dto) {
        return dao.selectOrderDetailedList(dto);
    }

    @Override
    public int getListTotal(OrderDto dto) {
        return dao.getListTotal(dto);
    }

    @Override
    public OrderVo selectCyOrderDetailed(OrderDto dto) {
        return dao.selectCyOrderDetailed(dto);
    }

    @Override
    public OrderVo selectWcOrderDetailed(OrderDto dto) {
        return dao.selectWcOrderDetailed(dto);
    }

    @Override
    public OrderVo selectDyOrderDetailed(OrderDto dto) {
        return dao.selectDyOrderDetailed(dto);
    }

    @Override
    public List<OrderVo> orderList(OrderDto dto) {
        return dao.orderList(dto);
    }

    @Override
    public List<Map<Integer, BigDecimal>> queryProfit(OrderDto dto) {
        return dao.queryProfit(dto);
    }

    @Override
    public List<Map<Integer, BigDecimal>> queryProfitB(OrderDto dto) {
        return dao.queryProfitB(dto);
    }

    @Override
    public List<Map<Integer, Long>> queryOrderCount(OrderDto dto) {
        return dao.queryOrderCount(dto);
    }

    @Override
    public Integer queryWcOrder(String year) {
        return dao.queryWcOrder(year);
    }

    @Override
    public Integer queryTkOrder(OrderDto dto) {
        return dao.queryTkOrder(dto);
    }

    @Override
    public Integer queryWcSl(OrderDto dto) {
        return dao.queryWcSl(dto);
    }

    @Override
    public Integer queryZcSjCount(OrderDto dto) {
        return dao.queryZcSjCount(dto);
    }

    @Override
    public Integer queryZcYh(OrderDto dto) {
        return dao.queryZcYh(dto);
    }

    @Override
    public Integer queryPlTs(OrderDto dto) {
        return dao.queryPlTs(dto);
    }

    @Override
    public Integer queryTsTs(OrderDto dto) {
        return dao.queryTsTs(dto);
    }

    @Override
    public List<OrderVo> queryXzSy(OrderDto dto) {
        return dao.queryXzSy(dto);
    }

    @Override
    public List<OrderVo> queryXzWcSl(OrderDto dto) {
        return dao.queryXzWcSl(dto);
    }

    @Override
    public OrderVo queryXzmpSl(OrderDto dto) {
        return dao.queryXzmpSl(dto);
    }

    @Override
    public OrderVo queryXzHyhfcp(OrderDto dto) {
        return dao.queryXzHyhfcp(dto);
    }

    @Override
    public OrderVo queryXzDghfcp(OrderDto dto) {
        return dao.queryXzDghfcp(dto);
    }
}